1. Technical Field
The present invention relates generally to communications between a host computer and a command-filtering bridge device or the like interposed between the host computer and a storage device.
2. Description of Related Art
Bridge devices can be interposed between a host computer and a storage device to perform various functions. One specialized type of bridge device works with an expander that provides an interface to a plurality of host computers, an interface to a single-ported storage drive and arbitration logic. The bridge device's arbitration logic controls and permits concurrent access by the hosts to the single-ported storage drive so that the bridge need not store read or write data being received from or provided to the storage drive.
Another specialized type of bridge device is a write blocker, which can include a blocking device that blocks certain commands (actually, such devices “filter” commands and can be referred to more accurately as “command-filtering” devices), such as read or write commands, as they are transmitted to a storage device by a host computer or the like. The command-filtering device is physically inserted between a host computer system and the storage device and is transparent to the host and the storage device. Write blockers (which also are command-filtering devices) allow acquisition of information stored on a drive, hard disk, etc. without allowing accidental or intentional damage to the contents of the drive/disk. Write blockers do this by allowing read commands to pass through to the protected disk, but blocking write commands, hence their name.
There are two types of write blockers, Native and Tailgate. A Native device communicates with the host computer system over the same type of interface used to communicate with the storage device, for example a IDE to IDE write block. A Tailgate device uses different types of interfaces for communication with the host computer system and with the storage device, for example a Firewire to SATA write block. The blocking device intercepts communications between the host and the storage device and examines any commands from the host to the storage device. Certain commands, such as commands that may modify the storage device, may be discarded.
Systems, methods and techniques that provide improved communication between a host computer and a bridge device or other, similar intermediate device would represent a significant advancement in the art.